package com.wkbb.sports.model;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.wkbb.sports.dto.ChartDto;
import com.wkbb.sports.dto.DetectChartDto;
import com.wkbb.sports.dto.DetectWarnDto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class HlifeDetect implements Serializable{

    @ApiModelProperty(value = "编号")
    private Long id;
    @ApiModelProperty(value = "监测人数")
    private Integer detectCount;
    @ApiModelProperty(value = "男生人数")
    private int maleCount;
    @ApiModelProperty(value = "女生人数")
    private int  femaleCount;
    @ApiModelProperty(value = "状态(0未开始 1进行中2已结束3已取消)")
    private Byte status;
    @ApiModelProperty(value = "累计平均心率")
    private Integer avgHeartRate;
    @ApiModelProperty(value = "累计平均最高心率")
    private Integer highHeartRate;
    @ApiModelProperty(value = "累计平均最低心率")
    private Integer lowHeartRate;
    @ApiModelProperty(value = "当前年级平均年龄")
    private Integer gradeAge;
    @ApiModelProperty(value = "运动密度")
    private Double sportDensity;
    @ApiModelProperty(value = "综合评价 1不达标 2达标 3超负荷")
    private Integer sportType = 1;
    @ApiModelProperty(value = "达标人数")
    private Integer standardNum;
    @ApiModelProperty(value = "超负荷人数")
    private Integer overloadNum;
    @ApiModelProperty(value = "心率异常人数")
    private Integer heartRateAbnormalCount;
    @ApiModelProperty(value = "学校ID")
    private Long orgId;
    @ApiModelProperty(value = "年级ID")
    private Long gradeId;
    @ApiModelProperty(value = "年级名称")
    private String gradeName;
    @ApiModelProperty(value = "班级id")
    private Long classId;
    @ApiModelProperty(value = "班级名称")
    private String className;
    @ApiModelProperty(value = "组别")
    private String groupId;
    @ApiModelProperty(value = "老师ID")
    private Long teacherId;
    @ApiModelProperty(value = "监测日期")
    private Date detectDate;
    @ApiModelProperty(value = "开始时间")
    private Date startTime;
    @ApiModelProperty(value = "结束时间")
    private Date endTime;
    @ApiModelProperty(value = "血氧异常人数")
    private int bloodOxygenAbnormalCount;
    @ApiModelProperty(value = "体温异常人数")
    private int temperatureAbnormalCount;
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    @ApiModelProperty(value = "创建人")
    private String createBy;
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;
    @ApiModelProperty(value = "修改人")
    private String updateBy;
    @ApiModelProperty(value = "学生监测列表")
    private List<HlifeDetectStudent>  students;
    @ApiModelProperty(value = "监测情况（图表数据）")
    private List<DetectChartDto> chartDtos;
    @ApiModelProperty(value = "班级运动强度时间分布")
    private List<ChartDto> timeDistributions;
    @ApiModelProperty(value = "班级各心率区间人数分布")
    private List<ChartDto>  heartRateNums;
    @ApiModelProperty(value = "班级各练习密度区间人数分布")
    private List<ChartDto>  sportDensityNums;
    @ApiModelProperty(value = "告警列表")
    private List<DetectWarnDto>  warnStuList;
    @ApiModelProperty(value = "编号")
    private Long teachCourseId;

}